package com.permissions.dispatcher.processor;

import javax.lang.model.type.TypeMirror;

/**
 * 注解器接口
 * @param <K> <K>
 */
public interface ProcessorUnit<K> {
    /**
     * 获取类型
     * @return getTargetType
     */
    TypeMirror getTargetType();

    /**
     * 创建文件
     * @param permissionsElement 创建被注解的文件
     * @param requestCodeProvider requestCodeProvider
     * @return 创建文件
     */
    K createFile(RuntimePermissionsElement permissionsElement, RequestCodeProvider requestCodeProvider);
}
